home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dskut / comt010d.zip / COMTSRC.ZIP / ENC12.ASM < prev    next >
Assembly Source File  |  1991-11-16  |  927b  |  61 lines

  1. .model tiny,C
  2.  
  3. maxline = 32
  4. umaxline = 63/4
  5. .data?
  6.   in_line db ?
  7.   sendz   db ?
  8.  
  9.  
  10. .code
  11.  
  12. nencode_block proc
  13. public nencode_block
  14.        arg to:word, from:word, len:word
  15.        mov cx,len
  16.        or cx,cx
  17.        jz ClearLine
  18.        push si
  19.        push di
  20.        cld
  21.        mov ax,ds
  22.        mov es,ax
  23.        mov di,to
  24.        mov si,from
  25.        mov dl,in_line
  26. Top:
  27.        lodsb
  28.        mov ah,al
  29.        and ax,0f00fh
  30.        shr ah,1
  31.        shr ah,1
  32.        shr ah,1
  33.        shr ah,1
  34.        add ax,'AA'
  35.        stosw
  36.        inc dl
  37.        cmp dl,maxline
  38.        ja putCRLF
  39.        loop Top
  40. Return:
  41.        mov in_line,dl
  42.        sub di,to
  43.        mov ax,di
  44.        pop di
  45.        pop si
  46.        ret
  47. putCRLF:
  48.        xor dx,dx
  49.        mov ax,0a0dh
  50.        stosw
  51.        loop Top
  52.        jmp Return
  53. ClearLine:
  54.        mov in_line,0
  55.        xor ax,ax
  56.        ret
  57. nencode_block endp
  58.  
  59.  
  60.        end
  61.